// package run.halo.app.service.assembler;
//
// import java.util.Collections;
// import java.util.List;
// import java.util.regex.Matcher;
// import java.util.regex.Pattern;
// import java.util.stream.Collectors;
// import com.google.common.collect.Lists;
// import org.apache.commons.lang3.StringUtils;
// import org.springframework.data.domain.Page;
// import org.springframework.data.domain.PageImpl;
// import org.springframework.lang.NonNull;
// import org.springframework.lang.Nullable;
// import org.springframework.util.Assert;
// import org.springframework.util.CollectionUtils;
// import run.halo.app.model.dto.UserDTO;
// import run.halo.app.model.dto.post.BasePostDetailDTO;
// import run.halo.app.model.dto.post.BasePostMinimalDTO;
// import run.halo.app.model.dto.post.BasePostSimpleDTO;
// import run.halo.app.model.entity.BasePost;
// import run.halo.app.model.entity.Content;
// import run.halo.app.model.entity.Content.PatchedContent;
// import run.halo.app.model.entity.User;
// import run.halo.app.model.properties.PostProperties;
// import run.halo.app.model.vo.JournalCommentWithJournalVO;
// import run.halo.app.service.ContentService;
// import run.halo.app.service.OptionService;
// import run.halo.app.service.UserService;
// import run.halo.app.utils.HaloUtils;
//
// /**
//  * @author guqing
//  * @date 2022-03-01
//  */
// public class BaseUserAssembler<USER extends User> {
//     private static final Pattern summaryPattern = Pattern.compile("\t|\r|\n");
//
//     private final UserService userService;
//
//     public BaseUserAssembler(UserService userService) {
//         this.userService = userService;
//     }
//
//     @NonNull
//     public Page<UserDTO> convertToUserDTO( @NonNull Page<User> userPage) {
//         Assert.notNull(userPage, "userpage must not be null");
//         // Convert the list
//         List<UserDTO> userDTOList =
//             convertToUserDTO(userPage.getContent());
//
//         // Build and return
//         return new PageImpl<>(userDTOList, userPage.getPageable(),
//             userPage.getTotalElements());
//
//     }
//
//     private List<UserDTO> convertToUserDTO(List<User> userList) {
//         if (CollectionUtils.isEmpty(userList)) {
//             return Collections.emptyList();
//         }
//         List<UserDTO> returnUserDTOList = Lists.newArrayList();
//         UserDTO userDTO = null;
//         for (User user : userList) {
//             userDTO = new UserDTO().convertFrom(user);
//             returnUserDTOList.add(userDTO);
//         }
//         return returnUserDTOList;
//     }
// }
